Solid-state drives (SSDs) are used in a many different types of applications. These different applications may require different storage capacities as well as different performance levels. SSD controllers typically have been developed for particular applications, resulting in different SSD controllers being developed for each type of application. However, SSD controller development costs can be high in terms of both time and money. High costs may limit the development of SSD controllers to a small group of applications and therefore may leave less popular applications with sub-optimal SSD controller solutions.